// TODO: java版临时注释 应该用不到了
// package com.inspur.edp.bef.dtgenerator.config;
//
//
// import com.inspur.edp.cef.generator.overall.CefGeneratorContext;
// import com.inspur.edp.lcm.metadata.api.entity.GspMetadata;
// import com.inspur.edp.udt.designtime.api.entity.UnifiedDataTypeDef;
//
// public class ProjectRefGenerator
// {
//	private static final String defaultNugetVersion = "*";
//	private static final String frameworkRefDir = "ref";
//	private UnifiedDataTypeDef udt;
//	private GspMetadata metadata;
//	private CefGeneratorContext context;
//	private String projPath;
//	private String projFolderPath;
//	//private readonly string binPath;
//	private IFsService fsService = ServiceManager.<IFsService>GetService();
//
//	public ProjectRefGenerator(CefGeneratorContext context)
//	{
//		this.context = context;
//	}
//
//	public final void  generate()
//	{
//		ProjectRefHandler handler = new ProjectRefHandler(context.Metadata.RelativePath);
//		//添加引用
//		handler.AddReference();
//		AddFrameworkReferences(handler);
//		AddGenDllReferences(handler);
//		handler.Save();
//
//	}
//
//
//		//region dllReference(api/entity)
//	private void  addGenDllReferences(ProjectRefHandler handler)
//	{
//		AddOrUpdateDllReference(handler, $"bin\\{context.RefProjectGenerator.AssemblyName}.dll");
//	}
//
//		//endregion
//
//	private void  addOrUpdateDllReference(ProjectRefHandler handler, String path)
//	{
//		handler.AddReference(path);
//	}
//
//	private void  addFrameworkReferences(ProjectRefHandler handler)
//	{
//		var refPath =
// Path.Combine(ServiceManager.<IMetadataService>GetService().GetRefPath(context.Metadata.RelativePath), frameworkRefDir);
//		if (!fsService.ExistsAsDir(refPath))
//		{
//			fsService.CreateDir(refPath);
//		}
//
//		AddFrameworkReference(handler, "Inspur.Gsp.Bef.Api", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Bef.Spi", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Bef.Entity", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Cef.Api", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Cef.Spi", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Cef.Entity", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.CommonModel.Api", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Variable.Api", refPath);
//		AddFrameworkReference(handler, "Inspur.Gsp.Variable.Spi", refPath);
//	}
//
//	private void  addFrameworkReference(ProjectRefHandler handler, String nugetName, String
// relativeAssemblyPath)
//	{
//		var dstFilePath = Path.GetFullPath(Path.Combine(PathTransform.GetUserProjectsRoot(),
// relativeAssemblyPath, String.Concat(nugetName, ".dll")));
//		var srcFilePath = Path.Combine(GspEnvironment.RootPath, "platform/common/libs",
// String.Concat(nugetName, ".dll"));
//		File.Copy(srcFilePath, dstFilePath, true);
//		AddOrUpdateDllReference(handler, $@"bin\ref\{nugetName}.dll");
//	}
// }
